jdbc注册驱动三种方式

我们使用JDBC访问数据库时,第一步需要注册驱动以mysql数据库为例
平常我们都是Class.forName("com.mysql.jdbc.Driver");

有没有人觉得为什么我只做了一个Class.forName的操作,DriverManager就知道这个驱动在哪里
这里都没有引用给DriverManager
其实注册驱动有三种方式
第一种
Class.forName中的参数其实就是驱动类的包名.类名,这个类可以new的
Driver d=new com.mysql.jdbc.Driver();
DriverManager中提供了registDriver方法注册驱动
DriverManager.registerDriver(d);

第二种
就是我们平常用的方式,
那为什么他能注册驱动呢?
原因是Class.forName这个方法会导致一个类被加载
类加载了会自动的执行这个类里的静态代码块
静态代码块中其实写的就是第一种里面的代码
Class.forName("com.mysql.jdbc.Driver");

第三种
程序中不做注册驱动的事情,在执行java命令运行时,加-D参数让虚拟机加载驱动类,并注册驱动
java -Djdbc.drivers=com.mysql,jdbc.Driver
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值